【Security Hub修復手順】[ECR.2] ECR プライベートリポジトリでは、タグのイミュータビリティが設定されている必要があります
こんにちは。AWS事業本部コンサルティング部に所属している今泉(@bun76235104)です。
皆さん、お使いのAWS環境のセキュリティチェックはしていますか?
当エントリでは、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介します。
本記事の対象コントロール
[ECR.2] ECR プライベートリポジトリでは、タグのイミュータビリティが設定されている必要があります
[ECR.2] ECR private repositories should have tag immutability configured
前提条件
本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容となります。 AWS Security Hubの詳細についてはこちらのブログをご覧ください。
対象コントロールの説明
今回の対象コントロールは「ECR プライベートリポジトリでは、タグのイミュータビリティが設定されている必要があります」です。
ECRに限らずコンテナイメージには参照用のタグを付与できます。(参考: docker tagコマンド)
コンテナ基盤を用いたアプリケーションイメージのバージョン管理の方法として、よく見かけるのが以下のような運用です。
- 本番環境のアプリケーションのイメージには常に
latest
を付与している - ステージング環境のアプリケーションのイメージには常に
staging
を付与している
これらについては、エラー発生時のトレーサビリティや過去バージョンのアプリケーションへのロールバックにおいて欠点があります。
これについては、以下記事がわかりやすかったため参照ください。
このコントロールではイメージタグの上書きを禁止するようにECRリポジトリに設定を促しています。
修正手順
1 対象のリソース(ECRリポジトリ)を特定
まずAWS Security HubのコンソールからECR.1のチェック結果を確認し、是正対象のECRリポジトリを特定します。
2 ステークホルダーに確認
ステークホルダー(リポジトリの作成者やアプリケーションを管理している部署など)に以下を確認しましょう。
- ECRのイメージタグの運用方法を確認
- 上記のようなlatestタグ固定による運用を行なっていないか
- アプリケーションのリリースバージョンやGitのコミットハッシュを利用する運用に変更できないか?
- アプリケーション側の運用変更を確認後に、以下「3 ECRのリポジトリを編集」の手順で設定を行うように調整する
アプリケーションのデプロイに関わる部分であるため、慎重に確認とルールの変更を行いましょう。
またCI/CDによる自動デプロイを行なっている場合は設定変更を要すると思いますので、合わせて留意しましょう。
3 ECRのリポジトリを編集
※ 上記のとおり実際にタグ付けの運用を変更後に、以下設定を行いましょう。
ECSのダッシュボードから「Amazon ECR」の「リポジトリ」を選択します。
是正対象のリポジトリを選択します。
画面右上の「編集」を選択します。
「一般設定」のブロックの「タグのイミュータビリティ」を「有効」に設定します。
そのまま「保存」をクリックします。
これでイメージタグの上書きが禁止に設定されました!
最後に
今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。
コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!
最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。
以上、今泉でした!